#include "Reloj.h"

Reloj::Reloj(bool atachado) :
		Thread(atachado) {
}

Reloj::~Reloj() {
}

void Reloj::run() {
	time_t tiempo;
	while ((tiempo = this->calcularTiempoRestante()) >= 0 && !this->torneo->isFinalizado()) {
		this->torneo->setTiempoActual(tiempo);
		usleep(1000);
	}
	if( !this->torneo->isFinalizado())
		this->torneo->getMutexTorneoFinalizado()->V();
	pthread_exit(NULL);
}

time_t Reloj::calcularTiempoRestante() {
	return difftime(this->torneo->getTiempoFinal(), time(NULL)); //tiempo inicial + tiempo torneo - tiempo ahora;
}

void Reloj::mostrarReloj(time_t tiempo) {

}

Torneo* Reloj::getTorneo() {
	return torneo;
}

void Reloj::setTorneo(Torneo* torneo) {
	this->torneo = torneo;
}

